<?php
function titulo_form($nome,$tamanho = 400) {
	echo '<table width="100%" cellspacing="0">
        <tr height="20" valign="top">
          <td width="1" style="background-repeat: repeat-x">&nbsp;</td>
          <td width="'.$tamanho.'" style="background-repeat: repeat-x" align="left" class="letras_pretas_bold_pequena">
            <b>'.$nome.'</b>
          </td>
          <td width="8" style="background-repeat: repeat-x">&nbsp;</td>
          <td style="background-repeat: repeat-x">&nbsp;</td>
        </tr>
      </table>';
}

/**
 * @todo: implementar este método...
 * (titulo,tamanho,selecionada,link/js)
 */
function abas() {
	echo '
     <td width="1" background="'.image_path("aba_selecionada_inicio.png").'" style="background-repeat: repeat-x">&nbsp;</td>
      <td width="'.$tamanho.'" background="'.image_path("aba_selecionada_meio.png").'" style="background-repeat: repeat-x" align="left" class="titulo_tela_processual_selecionado">
        <b>'.$nome.'</b>
      </td>
     <td width="8" background="'.image_path("aba_selecionada_fim.png").'" style="background-repeat: repeat-x">&nbsp;</td>
     ';
}


function separador($nome,$sufixo='') {
	echo '<div class="separador'.$sufixo.'">'.$nome.'</div>';
}

function separador_toggle($nome, $divToggle,$sufixo='') {
	echo '<div class="separador" onclick="$(\''.$divToggle.'\').toggle();">'.$nome.'</div>';
}

function separador_toggle_azul($nome, $divToggle,$sufixo='') {
  echo '<div class="separador_azul" onclick="$(\''.$divToggle.'\').toggle();">'.$nome.'</div>';
}

function comandos_form($esquerda = null,$direita = null) {
	$t = '<table cellspacing="0" width="100%" class="action_form">
      <tr height="17">';
	if($esquerda) {
		$t .=
	  '<td align="left" width="150px">
        '.$esquerda.'
        </td>';
	}
	$t.= '<td>&nbsp;</td>';
	if($direita) {
		$t .= '<td align="right" width="150px">
          '.$direita.'
        </td>';
	}
	$t.= '</tr>
  </table>';
	echo $t;
}

/**
 * Formata um texto com a mascara de CNPJ (00.000.000/0000-00).
 *
 * @param $strCNPJ: Input que será formatado
 *
 * @author: Daniel Dantas de Souto
 */
function formataCnpj($strCNPJ)
{
	$strCNPJ = preg_replace('/[^0-9]/', '', $strCNPJ);
	if (strlen($strCNPJ) > 14)
	$strCNPJ = substr($strCNPJ, 0, 14);
	if (strlen($strCNPJ) > 12)
	$strCNPJ = substr($strCNPJ, 0, 12) . '-' . substr($strCNPJ, 12);
	if (strlen($strCNPJ) > 8)
	$strCNPJ = substr($strCNPJ, 0, 8) . '/' . substr($strCNPJ, 8);
	if (strlen($strCNPJ) > 5)
	$strCNPJ = substr($strCNPJ, 0, 5) . '.' . substr($strCNPJ, 5);
	if (strlen($strCNPJ) > 2)
	$strCNPJ = substr($strCNPJ, 0, 2) . '.' . substr($strCNPJ, 2);
	return $strCNPJ;
}

/**
 * Formata um texto com a mascara de CPF (000.000.000-00).
 *
 * @param $strCPF: Input que sera formatado
 *
 * @author: Daniel Dantas de Souto
 */
function formataCpf($strCPF)
{
	$strCPF = preg_replace('/[^0-9]/', '', $strCPF);
	if (strlen($strCPF) > 11)
	$strCPF = substr($strCPF, 0, 11);
	if (strlen($strCPF) > 9)
	$strCPF = substr($strCPF, 0, 9) . '-' . substr($strCPF, 9);
	if (strlen($strCPF) > 6)
	$strCPF = substr($strCPF, 0, 6) . '.' . substr($strCPF, 6);
	if (strlen($strCPF) > 3)
	$strCPF = substr($strCPF, 0, 3) . '.' . substr($strCPF, 3);
	return $strCPF;
}

/**
 * Formata um texto com a mascara de Papel de trabalho (00000.000000/0000-00)
 *
 * @param $strNum: Input que sera formatado
 * @author: Gustavo Silva de Queiroz
 */
function formataPapelTrabalho($strNum)
{
  $strNum = preg_replace('/[^0-9]/', '', $strNum);
  if (strlen($strNum) > 15)
  $strNum = substr($strNum, 0, 15);
  if (strlen($strNum) > 13)
  $strNum = substr($strNum, 0, 13) . '-' . substr($strNum, 13);
  if (strlen($strNum) > 9)
  $strNum = substr($strNum, 0, 9) . '/' . substr($strNum, 9);
  if (strlen($strNum) > 4)
  $strNum = substr($strNum, 0, 4) . '.' . substr($strNum, 4);
  return $strNum;
}

function lista_propriedades($elementos,$propriedade,$separador = ', ') {
	$ret = "";
	foreach ($elementos as $elemento) {
		if($ret) $ret .= $separador;
		$ret .= $elemento[$propriedade];
	}
	return $ret;
}

/**
 * Gera um javascript da overlib
 * @author Rodrigo R�gis Palmeira
 * @param $texto - texto que deve aparecer na div
 * @param $max - default 100 - m�ximo de caracteres que devem aparecer no link
 * @param $width - default 200 - largura da div
 * @param $fullhtml - default true - $texto � um HTML?
 *
 * @todo parametros deve ser um array com todas as op��es dispon�veis na lib.
 */
function overlib($texto,$max = 100, $width=200, $fullhtml = false)
{
	$texto = str_replace( chr(13).chr(10), "<br>", $texto);
	if(strlen($texto) > $max)
	{
		$link = '';

		if (!$fullhtml)
			$link.= '<a href="javascript:void(0);" onmouseover="return overlib(\''.htmlspecialchars($texto).'\', WIDTH, \''.$width.'\');" onmouseout="return nd();">';
		else
			$link.= '<a href="javascript:void(0);" onmouseover="return overlib(\''.htmlspecialchars($texto).'\', FULLHTML);" onmouseout="return nd();">';

		$link.= substr(trim(strip_tags($texto)),0,$max).'...';
		$link.='</a>';
		echo $link;
	}
	else
	{
		echo $texto;
	}
}

/**
 * Formata um texto com a mascara de Telefone (0000-0000).
 *
 * @param $strTelefone: Input que sera formatado
 *
 * @author: Daniel Dantas de Souto
 */
function formataTelefone($strTelefone)
{
	$strTelefone = preg_replace('/[^0-9]/', '', $strTelefone);
	if (strlen($strTelefone) > 8)
	$strTelefone = substr($strTelefone, 0, 8);
	if (strlen($strTelefone) > 4)
	$strTelefone = substr($strTelefone, 0, 4) . '-' . substr($strTelefone, 4);
	return $strTelefone;
}

function formataCep($strCep)
{
	$strCep = preg_replace('/[^0-9]/', '', $strCep);
	if (strlen($strCep) > 8)
	$strCep = substr($strCep, 0, 8);
	if (strlen($strCep) > 2)
	$strCep = substr($strCep, 0, 2) . '.' . substr($strCep, 2);
	if (strlen($strCep) > 6) //considera os 5 digitos mais o ponto
	$strCep = substr($strCep, 0, 6) . '-' . substr($strCep, 6);
	return $strCep;
}

function formata_intervalo_tempo($numTotalSegundos) {
	$total_minutos = (int)($numTotalSegundos/60);
	$segundos = $numTotalSegundos%60;
	$horas = (int)($total_minutos/60);
	if($horas) {
		$minutos = $horas%60;
	}
	else {
		$minutos = $total_minutos;
	}
	return
	str_pad($horas,2,'0')
	."h:".str_pad($minutos,2,'0')
	."m:".str_pad($segundos,2,'0').'s';
}

function link_trocar_div($nome,$div,$path,$htmlOptions = array()) {
	$url = url_for($path);
	return "<a "._tag_options($htmlOptions)."href='javascript: void(0)' onclick=\"trocar_div('$div','$url')\">$nome</a>";
}

function link_enviar_comando($nome,$path,$div = null,$htmlOptions = array()) {
	$url = url_for($path);
	return "<a "._tag_options($htmlOptions)."href='javascript: void(0)' onclick=\"enviar_comando('$url'".($div?",'$div'":'').")\">$nome</a>";
}

function checkBoxList(
$nomeChecks,
$arValores,
$arValoresSelecionados,
$idPrefix,
$jsCallBackMethod = null,
$arValoresDesabilitados = null
)
{
	$check_desabilita = '';
	$estilo_font = '';
	echo "\n<table width='100%'>";
	echo "\n<tbody>";
	$rv_class = "";
	foreach($arValores as $valor=>$nome) {
		$rv_class = $rv_class ? "" : "revezamento";
		if (count($arValoresDesabilitados)>0) {
			if(in_array($valor,$arValoresDesabilitados)) {
				$check_desabilita = "return false;";
				$estilo_font = "style='color=#595959; font-style: italic;'";
			}
			else {
				$check_desabilita = '';
				$estilo_font = '';
			}
		}
		echo "\n<tr class=". $rv_class.">";
		echo "<td ".$estilo_font.">";
		echo "<input type='hidden' name='".$nomeChecks."[$valor]' value=''>";
		echo "<input id='".$idPrefix.$valor."' name='".$nomeChecks."[$valor]' type='checkbox' ".$check_desabilita." value='".$valor."'";
		if($jsCallBackMethod) {
			echo "onclick='".$jsCallBackMethod.'('.$valor."); ".$check_desabilita."'";
		}
		echo in_array($valor,$arValoresSelecionados) ? 'checked' : '';
		echo ' /> '.$nome;
		echo "</td></tr>";
	}
	echo "\n</table>";
}
function x(){

		// Mostra onde o x foi chamado
		@$arLocal = array_shift(debug_backtrace());
		$stLocal = 'Arquivo :'.$arLocal['file'] .' ---> Linha '.$arLocal['line']."<br><p>";

		echo "<div style='display:none'>on line</div>
		<div style='border: 1px solid black; padding: 10px; background-color: #ffff9f'>";
		echo $stLocal;
		if(count(func_get_args()))
		{
			foreach (func_get_args() as $idx=>$arg)
			{
					echo "<b><u>ARG[$idx]</u></b><br><pre>";
					print_r($arg);
					echo "</pre>";
			}
		}
		else
		{
			echo "Sem argumentos!";
		}
		echo "</div><br><br>";
		flush();
}
function xd() {

		// Mostra onde o x foi chamado
		@$arLocal = array_shift( debug_backtrace());
		$stLocal = 'Arquivo :'.$arLocal['file'] .' ---> Linha '.$arLocal['line']."<br><p>";

		echo $stLocal;

		echo "<div style='display:none'>on line</div>
		<div style='border: 1px solid black; padding: 10px; background-color: #BBCCDD'>";
		if(count(func_get_args()))
		{
			foreach (func_get_args() as $idx=>$arg)
			{
				echo "<b><u>ARG[$idx]</u></b><br><pre>";
				print_r($arg);
				echo "</pre>";
			}
		}
		else
		{
			echo "Sem argumentos!";
		}
		echo "</div><br><br>";
		flush();
		die;
}